package com.wing.product.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wing.common.utils.PageResult;
import com.wing.product.model.entity.WarehouseProduct;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wing.product.model.request.WarehouseProductForm;
import com.wing.product.model.response.WarehouseProductInventoryVO;
import com.wing.product.model.response.WarehouseProductVO;

import java.util.List;
import java.util.Map;

public interface WarehouseProductService extends IService<WarehouseProduct>{

   Page<WarehouseProductVO> pageList4app(Page pg, Map<String, Object> paramMap);

    Page<WarehouseProductVO> pageList4appTwo(Page pg, Map paramMap);

    Boolean save(WarehouseProductForm warehouseProductForm);

    Boolean checkProductCode(String productCode);

    List<WarehouseProductVO> selectProduct(String warehouseSignsOrderId);

    List<WarehouseProductInventoryVO> selectProductDetail(Integer status, Long qualityTestingId);

    Boolean update(WarehouseProductForm warehouseProductForm);

    PageResult<WarehouseProductInventoryVO> selectRecord(String id, String warehouseId,List<String> bundleCodeList,Integer page,Integer limit);

    PageResult<WarehouseProductInventoryVO> selectProductDetailTwo(
            String warehouseProductId,String warehouseId,String warehouseAreaId,String warehouseShelfSpaceId,
            String userBundleCode,String firstEntryDate,Integer page,Integer limit);

}
